using System;
using FluffyUnderware.Curvy;
using UnityEngine;

namespace Yoozoo.Gameplay.Liberty.AI
{
    [Serializable]
    public class CarBirthData
    {
        public int uniqueId;

        public bool ignoreLimit;
        
        public float lastCreateTime;

        public bool random;
        public int carModelId;
        
        public int pathId;
        public int pathPointIndex;
        public int driveNpcId = -1; // -1:随机，0:不添加，xxx:指定模型的npc

        // 自定义车辆出生的位置
        public bool customPos;
        public CurvyPositionMode posMode = CurvyPositionMode.WorldUnits;
        public Vector3 position;
        public Vector3 forward;

        public Vector3 checkCenter;
        public Vector3 checkSize;
        
        // 自定义车辆的行驶参数
        public bool customParams;
        public float maxSpeed = 15;
        public float acceleration = 6;
        public float deceleration = 32;

        
        
        // 非序列化数据，逻辑使用
        public bool creatable;
        public bool isFront;
        public bool isOppose;
        public float lastGenerateTime;
    }
}